package com.txc.pay.service;


import com.txc.pay.vo.OrderVo;

/**
 * @ClassName: IThirdPayService
 * @Description: 第三方支付业务类
 * @Author: TXC
 * @Date: 2023-12-26 09:59
 **/
public interface IThirdPayService {

    /**
     * 支付
     *
     * @param order 订单信息
     * @return 二维码信息
     */
    String thirdPay(String type, String method, OrderVo order);


    /**
     *  退款
     *
     * @param outRefundNo 商户退款订单号
     * @param refund 退款金额
     * @param total 原订单总金额
     * @return 结果
     */
    String refund(String type, String method, String outRefundNo, String refund, String total, String accountId);

    /**
     * 退款订单查询
     *
     * @param outRefundNo 退款订单号
     * @return 详情
     */
    String queryByOutRefundNo(String type, String method, String outRefundNo, String accountId);


    /**
     * 根据流水号查询订单
     *
     * @param transactionId 流水号
     * @return 结果
     */
    String queryOrderById(String type, String method, String transactionId, String accountId);

    /**
     * 根据商户订单号查询订单
     *
     * @param outTradeNo 商户订单id
     * @return 结果
     */
    String queryOrderByOutTradeNo(String type, String method, String outTradeNo, String accountId);

    /**
     * 关闭订单
     *
     * @param outTradeNo 商户订单id
     * @return 结果
     */
    String closeOrder(String type, String method, String outTradeNo, String accountId);
}
